/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package dados;


public abstract class Medicamento {
    
    private String codigo;
    private String nome;
    private String subsActiva;
    private int quantidade;
    private String posologia;    

    Medicamento(){
        codigo = "";
        nome = "";
        subsActiva = "";
        quantidade = 0;
        posologia = "";        
    }
    Medicamento(String codigo,String nome,String subsActiva,int quantidade,
            String posologia){
        
        this.codigo = codigo;
        this.nome = nome;
        this.subsActiva = subsActiva;
        this.quantidade = quantidade;
        this.posologia = posologia;        
    }

    
    Medicamento(Medicamento m){
        codigo = m.getCodigo();
        nome = m.getNome();
        subsActiva = m.getSubsActiva();
        quantidade = m.getQuantidade();
        posologia = m.getPosologia();        
    }

    public String getCodigo() {
        return codigo;
    }
    

    public String getNome() {
        return nome;
    }

    public String getPosologia() {
        return posologia;
    }

    public int getQuantidade() {
        return quantidade;
    }

    public String getSubsActiva() {
        return subsActiva;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }
  

    public void setNome(String nome) {
        this.nome = nome;
    }

    public void setPosologia(String posologia) {
        this.posologia = posologia;
    }

    public void setQuantidade(int quantidade) {
        this.quantidade = quantidade;
    }

    public void setSubsActiva(String subsActiva) {
        this.subsActiva = subsActiva;
    }
    
    
    
    @Override
    public abstract Medicamento clone();
                
    
    @Override
    public boolean equals(Object obj) {
        Medicamento m = (Medicamento)obj;
        
        if(this == obj)
            return true;
        if(obj == null)
            return false;
        if(this.getClass() != obj.getClass())
            return false;
        
        return (this.getCodigo().equals(m.getCodigo()) && this.getNome().equals(m.getNome()) &&
                    this.getPosologia().equals(m.getPosologia()) && this.getQuantidade() == m.getQuantidade() &&
                        this.getSubsActiva().equals(m.getSubsActiva()));
        
    }
    
}
